﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;

namespace LibNiconico.NiconicoApi.Internal.Http
{

    internal class NiconicoHttpResponse
    {


        internal NiconicoHttpResponse(HttpWebResponse response) 
        {
            this.response = response;
        }

        internal NiconicoHttpResponse(NiconicoHttpResponse response) : this(response.response) { }

        internal Uri ResponseUri
        {
            get
            {
                return this.response.ResponseUri;
            }
        }


        private HttpWebResponse response;


        internal static NiconicoHttpResponse<T> ConvertContent<T>(T content, NiconicoHttpResponse response)
        {
            return new NiconicoHttpResponse<T>(content,response);
        }
    }

    internal class NiconicoHttpResponse<T> : NiconicoHttpResponse
    {



        internal NiconicoHttpResponse(T content, NiconicoHttpResponse response):base(response)
        {
            this.Content = content;
        }

        internal NiconicoHttpResponse(T content,HttpWebResponse response):base(response)
        {
            this.Content = content;
        }

        internal T Content { get; private set; }


        
    }
}
